• 0 Posts
  • 964 Comments
Joined 3 years ago
cake
Cake day: June 21st, 2023

help-circle
  • EDIT: briefly searching indicates it’s common in South Korea too. Not sure if it’s just more common in Asia right now or what. Seems like most of the articles about the West I’m finding are about cameras in bathrooms and shit (not that that’s better…).

    It can (and does) happen in all countries. For whatever reason though, it seems to be more common in eastern Asia, from what I’ve seen anyway.

    If this bothers you (and it probably should), then you should really check every hotel room you stay in, regardless of country. It usually just takes a few minutes when you get into the room, plus you can check for bed bugs while you’re at it.


  • Moreover, you cannot say compilers are deterministic. There are situations where they are not (at least for the user).

    https://krystalgamer.github.io/high-level-game-patches/

    I’m not following. Which part of this is nondeterministic?

    The language being complicated to write and the compiler being confusing to use isn’t an indicator of determinism. If GCC were truly nondeterministic, that’d be a pretty major bug.

    Also, note that I mentioned that the output behavior is deterministic. I’m not referring to reproducible builds, just that it always produces code that does what the source specifies (in this case according to a spec).





  • The library is two text files (code) that are processed by an LLM (interpreter) to generate code of another type. This is not that new in terms of workflow.

    I think what makes this the worst is the fact that the author admits that you can’t be sure the library will work until you generate the code and test it. Even then you cannot guarantee the security of the generated code and as you do not understand the code you also cannot give support or patch it.

    I’ve tried explaining how LLMs are not equatable to compilers/interpreters in the past, and it’s usually to people who aren’t in software roles. What it usually comes down to when I try to explain it is determinism. A compiler or interpreter deterministically produces code with some kind of behavior (defined by the source code). They often are developed to a spec, and the output doing the wrong thing is a bug. LLMs producing the wrong output is a feature. It’s not something you try to fix, and something you often can’t fix.

    This, of course, ignores a lot of “lower level” optimizations someone can make about specific algorithms or data structures. I use “lower level” in quotes, of course, because those are some of the most important decisions you can make while writing code, but turning off your brain and letting a LLM do it for you “abstracts” those decisions away to a random number generator.





  • Funding or not, Miller expects sudo-rs to become the next generation of the tool in coming years.

    “Ubuntu is already shipping sudo-rs as the default sudo command in their latest versions,” Miller told us. “I’ve been in contact with the people working on sudo-rs since the project started and I trust them to do right by the sudo user base.”

    Projects don’t last forever, and when they inevitably end, it’s an opportunity to switch to something newer and hopefully better. Sudo coming to an end, if it does, will just force people onto alternatives.

    Being open source, sudo will always exist, whether someone else wants to maintain it, fork it, use it as-is, or just reference it. It’s because it’s open source that it can serve a purpose even beyond its EOL.

    Anyway, sudo’s not dead yet, so there’s still plenty of time for people to look at what’s out there. Some distros have already moved to, or are considering moving to, alternatives like sudo-rs, so I’d expect that to continue.









  • Is a database handle you can write to not … basically mutable state, the arch-nemesis of functional languages?

    Access to an external database is a kind of effect. In functional terms, you’d use a monad to represent this, though in Koka you’d define an effect for it. In either case, it becomes part of the function signature.

    A “pure” function could instead work around it by returning (without executing) a query, accepting a state and returning a new, modified state, or otherwise returning some kind of commands to the caller without directly querying the database.


  • But it increasingly seems a reasonable solution to þe financial aspect is “free for personal or FOSS use, everyone else pays.” Which isn’t quite GPL, but I’m sure þere’s a license for it.

    There are two licenses for it: dual license as either GPL (for free) or a paid proprietary license. Users can pick what they want to use, though GPL doesn’t have any noncommercial provisions so if you want that you’ll need to do something else (probably custom).