• 6 Posts
  • 1.14K Comments
Joined 1 year ago
cake
Cake day: October 4th, 2023

help-circle


  • The downside of building the phone/tablet into the car, though, is that phones change more quickly than cars.

    A 20 year old car can be perfectly functional. A 20 year old smarphone is insanely outdated. If the phone is built into the car, you’re stuck with it.

    Relative to a built-in system, I’d kind of rather just have a standard mounting point with security attachments and have the car computer be upgraded. 3DIN maybe.

    I get the “phone is small” argument, but the phone is upgradeable.

    And I’d definitely rather have physical controls for a lot of things.



  • Plus, even if you manage to never, ever have a drive fail, accidentally delete something that you wanted to keep, inadvertently screw up a filesystem, crash into a corruption bug, have malware destroy stuff, make an error in writing it a script causing it to wipe data, just realize that an old version of something you overwrote was still something you wanted, or run into any of the other ways in which you could lose data…

    You gain the peace of mind of knowing that your data isn’t a single point of failure away from being gone. I remember some pucker-inducing moments before I ran backups. Even aside from not losing data on a number of occasions, I could sleep a lot more comfortably on the times that weren’t those occasions.


  • That’s not a completely reliable fix, a third party library could still call setenv and trigger crashes, there’s still a risk of data races, but we’ve observed a significant reduction in SIGABRT volumes.

    Hmm. If they want a dirty hack, I expect they could do a library interposer that overrides setenv(3) and getenv(3) symbols with versions that grab a global “environment variable” lock before calling the actual function.

    They say that they’re having problems with third party libraries that use environment variables. If they’re using third-party libraries statically-linked against libc, I suppose that won’t work, but as long as they’re dynamically-linked, should be okay.

    EDIT: Though you’ve still got an atomic update problem with the returned buffer, doing things the way they are, if you don’t want to leak memory. Like, one thread might have half-updated the value of the buffer when another is reading the buffer after returning from the interposer’s version of the function. That shouldn’t directly crash, but you can get a mangled environment variable value. And there’s not going to be guarantees on synchronization on access to the buffer, unlike the getenv() call itself.

    thinks

    This is more of a mind-game solution, but…

    Well, you can’t track lifetime of pointers to a buffer. So there’s no true fix that doesn’t leak memory. Because the only absolute fix is to return a new buffer from getenv() for each unique setenv(), because POSIX provides no lifetime bounds.

    But if you assume that anything midway through a buffer read is probably going to do so pretty soon, which is probably true…

    You can maybe play tricks with mmap() and mremap(), if you’re willing to blow a page per environment variable that you want to update and a page of virtual address space per update, and some temporary memory. The buffer you return from the interposer’s getenv() is an mmap()ed range. In the interposer’s setenv(), if the value is modified, you mremap() with MREMAP_DONTUNMAP. Future calls to getenv() return the new address. That gives you a userspace page fault handler to the old range, which I suppose – haven’t written userspace page fault handlers myself – can probably block the memory read until the new value is visible and synchronize on visibility of changes across threads.

    If you assume that any read of the buffer is sequential and moving forward, then if a page fault triggers on an attempted access at the address at the start of the page, then you can return the latest value of the value.

    If you get a fault via an address into the middle of the buffer, and you still have a copy of the old value, then you’ve smacked into code in the middle of reading the buffer. Return the old value.

    A given amount of time after an update, you’re free to purge old values from setenv(). Can do so out of the interposer’s functions.

    You can never eliminate that chance that a thread has read the first N bytes of an environment variable buffer, then gone to sleep for ten minutes, then suddenly wants the remainder. In that case, you have to permit for the possibility that the thread sees part of the old environment variable value and part of the new. But you can expend temporary memory to remember old values longer to make that ever-more unlikely.


  • I know that modern dryers often use a humidity sensor, and I can imagine that it’s maybe hard to project that.

    But I don’t know what sort of sensors or dynamic wash time a washer would use. I thought that they were just timer-based.

    kagis

    Oh. Sounds like they use water level sensors and time to drain is a factor, so if the draining is really slow, that it’ll do that.

    https://old.reddit.com/r/mildlyinfuriating/comments/1dd4k6g/my_clothes_washer_has_had_one_minute_left_for_the/

    My clothes washer has had one minute left for the past 7 minutes. (i.redd.it)

    Funny… Someone else had a similar issue a few days ago. This was my reply to them:

    This sounds like a drainage issue. Not uncommon. I first learned of this on my previous washer several years ago.

    The machine took a lot longer to drain than it should have, so what should’ve taken a minute or two, took 15.

    A potential cause is that your drainage filter is clogged. Most people don’t even know they have one, much less how to clean it.

    In MOST modern washers, it’s behind a small hatch on the front of the machine. (It may be located elsewhere, depending on your model.). Open the hatch, pull out a short hose, unplug the stopper on the hose to drain any excess water (into a small container of some sort). Then remove the filter…

    The filter itself is typically a cylindrical piece that resides next to the hose. The filter may need to be unlocked somehow to remove it, but either way, once you slide it out you can clear it off of any buildup of hair, lint, and other gunk that’s collected on it.

    Check your user manual (or Google) for your specific model.

    If they have a display capable of it, might be a good idea for washers to suggest to the user that it’s draining slowly and that checking the filter might be in order.


  • tal@lemmy.todaytoGames@sh.itjust.worksTried Stardew
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    13 days ago

    my thought was, '“oh am i going to have to do all this myself?” Idk why I would want to spend my time and effort doing what someone in Rimworld does without needing micromanagement.

    Not really my cup of tea either.

    I don’t think that Stardew Valley is really all that similar to Rimworld. Maybe Oxygen Not Included, Satisfactory/Factorio, Kenshi, or Dwarf Fortress if you’re looking for something similar.



  • “It’s a big problem,” said Martin Smolár, a malware analyst specializing in rootkits who reviewed the Binarly research and spoke to me about it. “It’s basically an unlimited Secure Boot bypass for these devices that use this platform key. So until device manufacturers or OEMs provide firmware updates, anyone can basically… execute any malware or untrusted code during system boot. Of course, privileged access is required, but that’s not a problem in many cases.”

    I mean, I don’t really have much interest in requiring that my BIOS code be signed, but I have a hard time believing that this Martin Smolár guy is correct. Just entirely disable firmware updates in the BIOS, and re-enable just for the one boot where you update your BIOS while booting off a trusted USB key. You’d never put your OS in a position of being able to push an update to the BIOS.

    EDIT: Actually, if current BIOSes can update without booting to an OS at all, just selecting a file on a filesystem that they can understand – IIRC my last Asus motherboard could do that – you never need to enable it for even that.



  • How the American war on porn could change the way you use the internet

    looks slightly annoyed

    I’m not particularly enthusiastic about such state laws, but the UK spent the last several years having committed to mandate age verification itself prior to eventually abandoning it, and I didn’t see Voice of America trying to get people in the US riled up about British law.

    https://en.wikipedia.org/wiki/Proposed_UK_Internet_age_verification_system

    With the passing of the Digital Economy Act 2017, the United Kingdom became the first country to pass a law containing a legal mandate on the provision of an Internet age verification system.

    And if I recall, they had some follow-up effort, which I assume is what is briefly referenced in the article.

    looks

    Yeah.

    https://www.ofcom.org.uk/online-safety/protecting-children/guidance-service-providers-pornographic-content/

    Implementing the Online Safety Act: Protecting children from online pornography

    This is the second of four major consultations that Ofcom, as the appointed online safety regulator, will publish as part of our work to establish the new regulations under the Online Safety Act (2023).

    Currently, services publishing pornographic content online do not have sufficient measures in place to prevent children from accessing this content. Many grant children access to pornographic content without age checks, or by relying on checks that only require the user to confirm that they are over the age of 18.

    The Online Safety Act is clear that service providers publishing pornographic content online must implement age assurance which is highly effective at correctly determining whether or not a user is a child to prevent children from normally encountering their online pornographic content.


  • I had no idea Twitter’s search updated their index immediately after a comment is posted though.

    While I never had a Twitter account, it’s the major reason that I used the service anonymously. In an unfolding event, like a natural disaster or something, it was absolutely unparalleled in its ability to rapidly comb through enormous amounts of information being plonked in by people around the world. I strongly prefer Reddit-style forum structure most of the time, but for issues for which there is no pre-existing communities and where the common issue is one that will only exist for a short period of time, I think that Twitter’s ad-hoc connections between retweets and hashtags works much better than Reddit’s association-of-comments-by-subreddit. I understand that Mastodon, unfortunately, doesn’t have a full-text search feature, just searching based on exact hashtags. Actually…hmm. I was just talking about Kagi’s search lens for the Threadiverse in another comment that I saw. I wonder if Kagi actually indexes Mastodon as well? That’d provide for similar functionality.

    investigates

    No, it looks like they only do the Reddit-alike Threadiverse (lemmy, kbin, mbin, etc), for which they use the term “Fediverse Forums”.

    investigates further

    It does look like they index in real time, though, or at least quickly – they probably are one of the institutions out there with an instance slurping up everything out there. I was able to find your comment on that search lens.

    That’s a lot of updates considering the amount of posts they get daily.

    Yeah, I’m sure that however the Twitter guys built it, they specifically designed it around permitting inexpensive index updates.


  • tal@lemmy.todaytoTechnology@lemmy.worldProton launches LLM and crypto wallet
    link
    fedilink
    English
    arrow-up
    35
    arrow-down
    1
    ·
    edit-2
    4 months ago

    The wallet is not, I think, surprising. Proton Mail is billed as a trusted holder of email that you want private. In the US, there are specifically some people who want an out-of-country provider of email service. A lot of use of cryptocurrency is from people who want private financial transactions. I will bet that there is overlap in userbase.

    I also don’t know how they’re billing their LLM service, but a thing that some people don’t like about LLM services – and I am among those – is that what you write can be data-mined. If they’re selling this as a service where they charge a fee not to do that, that might make a lot of sense in terms of their privacy company reputation.

    I use Kagi as my search engine. They do the “we don’t log or mine your data, but rather charge a subscription fee” thing too – though unlike Proton, they’re not overseas for US users – so they’re gonna be selling to a market of people who are willing to pay something for privacy. And they also just started providing LLM service. I bet that they have the same rationale.

    You can get your own hardware and run latent diffusion software locally. I have. But that’s expensive.

    It saves a lot of money, if you only need the hardware computing N% of the time, to buy the hardware and share it with other people, both in compute capacity and cost. Then you only need to pay N% plus a bit for the service provider to make a return.

    I suspect that a lot of companies have done the math, figured out that the economics work, and are aiming for that market – people who want to use latent diffusion software, want privacy for use, but don’t need them hot 100% of the time, and don’t want to pay to get their own hardware at home.

    It used to be common, when all computers were more expensive, for all computing access to be sold like this, on time-sharing systems. Nobody (or very few people!) could afford a computer of their own, but you could afford to buy some compute time on one. Some of this is probably temporary, because right now, Nvidia has a significant lead and can (and does) charge a fat premium; I assume that if AMD or someone else can get parity for compute acceleration, then that’ll force Nvidia’s pricing down. But it may be that there’s a whole new world of interesting applications that can only be done with very large models that require very large hardware, in which case we might see, on an ongoing basis and for parallel compute applications, a world that looks more like the 1960s for computers, where there are a limited number of computers in datacenters, and instead of owning your own, you buy slices of time on them.

    EDIT: Yeah, I haven’t looked at Proton recently, but look at their main page. They’re selling a whole suite of online services, and the whole thing that they’re billing themselves as on the thing is providing privacy, and they specifically emphasize that they’re in Switzerland. The slogan that they’re using is “Proton: Privacy by default”. My guess is that basically, their aim is to build a reputation of someone who is neither data-mining people’s data nor is readily-accessible to law enforcement (well, if you’re in the US…things might be different if you’re Swiss!), and then to sell services with that aspect as a selling point.






  • Shattered Pixel Dungeon’s creator came over, is at !pixeldungeon@lemmy.world, and there’s actually traffic there. Which is cool, since it is, IMHO, one of an extremely small number of good open source games with an Android release.

    And I think that video games are actually one of the areas that there are enough people to have reasonable discussions on.

    But yeah, the lack of scale is real.

    What I’d do is just have discussions on specific video games in the generic video games forums (e.g. !games@sh.itjust.works).

    Then if the traffic there becomes unworkably high, shift to genre communities, for RPGs or MOBAs or whatnot. Stuff like !shmups@lemmus.org (which I don’t think has a sustainable population yet – it’s still one dedicated guy posting content to generate a community).

    And if things there get too busy, then make the jump to individual games.

    Otherwise, hard to have enough traffic for regular discussion.

    That kind of slow-to-create-new-forums structure was especially common on Usenet, where the bar to creating a group was higher than it is on Reddit or on the Threadiverse, so creation only happened when there was a lot of pent-up demand for it.


  • Searchability

    For searching instances and communities, you can use lemmyverse.net. It’s a bit obnoxious to have an external service for that, but they have done a good job of filling a hole in community search, I think.

    For comment search…yeah.

    Reddit was infamous for having a useless comment search engine for many years, until people just started doing site:reddit.com searches with Google. Like, Google partnering with Reddit had a site famous for great content and terrible searching of it (to the point that one used Google to get by) meeting up with a search engine that had great search but indexed a lot of garbage (to the point that one would specifically do site searches on Reddit to get useful information). Even aside from AI training, I can see why they partnered, my own apprehensions about the anti-competitive aspect aside.

    Google doesn’t, as far as I know, have a good way to search all Threadiverse sites.

    Kagi specifically indexes the Threadiverse, has a search lens for it, and can assign something like !tv or similar to do so.

    I don’t know what the status on other search engines is. Might be that some other engine has since added support.

    There’s no native full-text search in the UI (and an individual instance doesn’t even see all of the comments made, so it cannot index them for full-text search).


  • Stuff I prefer on Reddit

    • Size of userbase. There are some drawbacks to that too, but the large size lets you go way down the long tail, lets you do a lot of niche communities. We can do that here due to disproportionate representation of some areas, but that’s limited to some things like Linux (which, to be fair, was also the case for very early Reddit).

    • Stability of “home instance” service. Lemmy.today, my present home instance, has been pretty good. Kbin.social had some serious downtime issues (along with some other issues on some other big instances). Early Reddit also had some major stability problems, including multi-day outages, but one of the ways in which late Reddit beats the pants off early Reddit is uptime.

    • Composition of userbase. A disproportionate chunk of the crowd that started out here is far-left, which means that discussions about anything economic tends to have someone showing up and saying something like “we need to abolish capitalism”, which I’d call a little obnoxious. But I tend to hang out on the communities not specifically dedicated to far-left stuff, so…shrugs. And every community’s got quirks, and I suppose this isn’t the worst to have.

    • IP-level privacy from user-to-user. Reddit doesn’t permit externally-hosted images to be embedded in comments. The Threadiverse does, which means that it’s possible for a commenter to know which IPs are viewing their comments. Most federated systems that I can think of, aside from some IRC networks, don’t expose IP addresses from one user to another.

    • In that vein, no inline images. I make use of them, but if I’d built the system, I wouldn’t have included support for them. I think that they bring too many tradeoffs and have too few benefits. Old Reddit didn’t have inline images (though IIRC New Reddit did have some sort of support).

    • Easy way to find new communities. A given instance on the Threadiverse doesn’t know anything about a community if it has no users subscribed to it. That’s good for scalability – a private instance consumes little bandwidth. But it’s bad for being able to find new communities. Lemmyverse.net runs a bot that builds a list of all instances and communities on those instances, but it’s not immediately obvious to new users, and there’s no native-client support to search for communities.

    • Concern about loss of home instance. As it stands, if your home instance goes away – and these are all being run by generous volunteers who may-or-may-not continue to have the time and willingness to continue to run them – so does your identity. That wasn’t a concern I had on Reddit. I’d really like there to be support for linking an identity to a public/private key pair and supporting account portability across instances. Hell, if I could use two home instances interchangeably, the Threadiverse could also have outstanding uptime.

    • Lack of support for styles in link text. Reddit supported Markdown of this syntax:

        I love [*Moby-Dick*](https://en.wikipedia.org/wiki/Moby-Dick).
      

      To produce something that looks like this:

      I love Moby-Dick.

      The best you can manage with Markdown here is this:

        I love *[Moby-Dick](https://en.wikipedia.org/wiki/Moby-Dick)*.
      

      That works for some things – for a link that should be entirely italicized, something that I do all the time, it’s functionally equivalent, but it doesn’t work if you want to hyperlink text and have only part of it be stylized.

    Stuff I prefer here

    • Stability of overall system. This is in contrast to the “home instance” stability above. Reddit had times when the entire system wasn’t working. That has never happened to the Threadiverse as long as I’ve been here. All systems don’t go down concurrently. You can always use at least part of the system.

    • Variety of software. Reddit had, well, New Reddit and Old Reddit frontends, and there’s some third-party software (which largely got blocked, last I looked, which is why I left). My home instance alone has something like three or four web frontends running for users to select from, and there’s a wide variety of client software.

    • Some good system status monitoring tools. I don’t have a comprehensive list, but I’ve seen a lot of people build useful tools that expose a lot of useful information about the system, stuff like lemmy-status.org, to grab an example.

    • Not bound to one company’s policies. Reddit has to make one set of content and behavior rules at the service level. That doesn’t exist on the Threadiverse (or, for that matter, the Fediverse as a whole). Maybe there will ultimately be something like that, as you had things like the Usenet cabal, and a hypothetical Fediverse Cabal could hypothetically exert influence, impose things analogous to the Usenet Death Penalty, though I felt that the UDPs didn’t become overbearing. But I’m pretty happy with a pick-your-own-set-of-rules environment, and the federated structure works well with that.

    • I don’t have to worry about the system going downhill. I didn’t know for sure what Reddit’s monetization phase would look like, but I knew that it would eventually come. As it happened, it took a form that I considered unacceptable (elimination of third party clients). But I always knew that it could come. Or it could get purchased and have unpleasantness from the new owner. Here, the only real risks are spammers or the like figuring out tactics that make the system unusable. As long as someone wants to run an instance, the only thing that will replace it is a better instance. There’s a variety of software backends, and those could, worst-case, be forked.

    • Transparency. You can see the bug-trackers for the backend software, know the status of a bug, can link other people to it. Can even submit fixes if you can code!

    • User blocks don’t prevent responses. I haven’t blocked anyone here. But my understanding is that user blocking works the way it once did on Reddit, which I vastly prefer. Historically, on Reddit, if you block a user, you don’t see their posts, but they can still respond to you. Reddit at some point changed their mode of operation so that if User A blocks User B, then User B cannot respond to User A’s comments. After they did that, this was, predictably, promptly abused by people in arguments to make a statement, then block the other person so that they couldn’t respond and it looked like their point went unanswered. I remember outraged people responding all over threads on some subs I followed (“User X blocked me, but here’s my response…”). Was the one significant policy move I’d seen Reddit make that I intensely disagreed with.

    • Markdown’s auto-renumbering of numbered lists apparently was disabled, at least in Lemmy (dunno about mbin and others). I generally like Markdown, but I think that this was a huge misfeature, caused many people to have incorrectly-renumbered items when they were trying to quote a specific numbered item. Reddit, unfortunately, implements the auto-renumbering. This means that on Reddit, something like:

        I believe the following rule applies:
       
        743. All claims must be registered.
      

      Is rendered as:

      I believe the following rule applies:

      1. All claims must be registered.